﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IPC.DbMapper
{
    public class Tag
    {
        [Key]
        [Column("GUID", TypeName = "text")]
        public string? Guid { get; set; }
        [Column("Name", TypeName = "text")]
        /// <summary>
        /// 标签名
        /// </summary>
        public string Name { get ; set ; }

        [Column("Address", TypeName = "text")]
        /// <summary>
        /// 地址
        /// </summary>
        public string Address { get ; set ; }

        [Column("DataType", TypeName = "text")]
        /// <summary>
        /// 数据类型
        /// </summary>
        public string DataType { get ; set ; }

        [Column("Frequency", TypeName = "integer")]
        /// <summary>
        /// 扫描频率
        /// </summary>
        public int Frequency { get ; set ; }

        [Column("Zoom", TypeName = "real")]
        /// <summary>
        /// 缩放
        /// </summary>
        public double Zoom { get ; set; }


        [Column("Remark", TypeName = "text")]
        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get ; set ; }

        [Column("Value", TypeName = "text")]
        /// <summary>
        /// 值
        /// </summary>
        public string? Value { get ; set ; }

        [Column("ReadWrite", TypeName = "text")]
        /// <summary>
        /// 读写方式
        /// </summary>
        public string ReadWrite { get ; set; }

        
        [Column("FullName", TypeName = "text")]
        /// <summary>
        /// 全名 主键
        /// </summary>
        public string FullName { get ; set ; }

        [Column("GroupFullName", TypeName = "text")]
        /// <summary>
        /// 组全名
        /// </summary>
        public string? GroupFullName { get ; set ; }

        [Column("EquipFullName", TypeName = "text")]
        /// <summary>
        /// 设备全名
        /// </summary>
        public string? EquipFullName { get ; set ; }
    }
}
